package com.so206.po;

import java.io.Serializable;
import java.math.BigDecimal;

public class SystemPayConfig implements Serializable {
    private Long id;

    /**
     * 统一回调域名
     */
    private String retDomain;

    /**
     * 轮训开关:0.关闭,1.开启
     */
    private Integer lxStatus;

    /**
     * 轮训模式:0.全部随机轮询,1.按通道金额随机
     */
    private Integer lxMode;

    /**
     * 轮询关闭时,默认易支付通道id -- 支付宝
     */
    private Long defaultEpayAlipay;

    /**
     * 轮询关闭时,默认码支付通道id --支付宝
     */
    private Long defaultCodepayAlipay;

    /**
     * 轮询关闭时,默认QQ钱包通道id
     */
    private Long delaultQqpay;

    /**
     * 轮询关闭时,默认支付宝通道
     */
    private Long defaultAlipay;

    /**
     * 轮询关闭时,默认微信通道
     */
    private Long defaultWxpay;

    /**
     * 微信默认打款通道id
     */
    private Long trWxpay;

    /**
     * 支付宝默认打款id
     */
    private Long trAlipay;

    /**
     * 微信转账到银行卡,默认打款通道id
     */
    private Long trWxpayCard;

    /**
     * 支付立减优惠;0.关闭,1.开启
     */
    private Long paySale;

    /**
     * 优惠最小金额
     */
    private BigDecimal paySaleMin;

    /**
     * 优惠最大金额
     */
    private BigDecimal paySaleMax;

    /**
     * 优惠开始金额
     */
    private BigDecimal paySaleStart;

    /**
     * 优惠结束金额
     */
    private BigDecimal paySaleStop;

    /**
     * 轮询关闭后需要指定默认易支付通道-QQ
     */
    private Long defaultEpayQqpay;

    /**
     * 轮询关闭后需要指定默认易支付通道-微信
     */
    private Long defaultEpayWxpay;

    /**
     * 轮询关闭后需要指定默认码支付通道-QQ
     */
    private Long defaultCodepayQq;

    /**
     * 轮询关闭时,默认码支付通道id --微信
     */
    private Long defaultCodepayWxpay;

    /**
     * 新浪短链接API秘钥
     */
    private String sinaUrlKey;

    /**
     * e交易 - 支付宝默认接口
     */
    private Long defaultEpay2Alipay;

    /**
     * e交易 - QQ默认接口
     */
    private Long defaultEpay2Qqpay;

    /**
     * e交易 - 微信默认接口
     */
    private Long defaultEpay2Wxpay;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getRetDomain() {
        return retDomain;
    }

    public void setRetDomain(String retDomain) {
        this.retDomain = retDomain;
    }

    public Integer getLxStatus() {
        return lxStatus;
    }

    public void setLxStatus(Integer lxStatus) {
        this.lxStatus = lxStatus;
    }

    public Integer getLxMode() {
        return lxMode;
    }

    public void setLxMode(Integer lxMode) {
        this.lxMode = lxMode;
    }

    public Long getDefaultEpayAlipay() {
        return defaultEpayAlipay;
    }

    public void setDefaultEpayAlipay(Long defaultEpayAlipay) {
        this.defaultEpayAlipay = defaultEpayAlipay;
    }

    public Long getDefaultCodepayAlipay() {
        return defaultCodepayAlipay;
    }

    public void setDefaultCodepayAlipay(Long defaultCodepayAlipay) {
        this.defaultCodepayAlipay = defaultCodepayAlipay;
    }

    public Long getDelaultQqpay() {
        return delaultQqpay;
    }

    public void setDelaultQqpay(Long delaultQqpay) {
        this.delaultQqpay = delaultQqpay;
    }

    public Long getDefaultAlipay() {
        return defaultAlipay;
    }

    public void setDefaultAlipay(Long defaultAlipay) {
        this.defaultAlipay = defaultAlipay;
    }

    public Long getDefaultWxpay() {
        return defaultWxpay;
    }

    public void setDefaultWxpay(Long defaultWxpay) {
        this.defaultWxpay = defaultWxpay;
    }

    public Long getTrWxpay() {
        return trWxpay;
    }

    public void setTrWxpay(Long trWxpay) {
        this.trWxpay = trWxpay;
    }

    public Long getTrAlipay() {
        return trAlipay;
    }

    public void setTrAlipay(Long trAlipay) {
        this.trAlipay = trAlipay;
    }

    public Long getTrWxpayCard() {
        return trWxpayCard;
    }

    public void setTrWxpayCard(Long trWxpayCard) {
        this.trWxpayCard = trWxpayCard;
    }

    public Long getPaySale() {
        return paySale;
    }

    public void setPaySale(Long paySale) {
        this.paySale = paySale;
    }

    public BigDecimal getPaySaleMin() {
        return paySaleMin;
    }

    public void setPaySaleMin(BigDecimal paySaleMin) {
        this.paySaleMin = paySaleMin;
    }

    public BigDecimal getPaySaleMax() {
        return paySaleMax;
    }

    public void setPaySaleMax(BigDecimal paySaleMax) {
        this.paySaleMax = paySaleMax;
    }

    public BigDecimal getPaySaleStart() {
        return paySaleStart;
    }

    public void setPaySaleStart(BigDecimal paySaleStart) {
        this.paySaleStart = paySaleStart;
    }

    public BigDecimal getPaySaleStop() {
        return paySaleStop;
    }

    public void setPaySaleStop(BigDecimal paySaleStop) {
        this.paySaleStop = paySaleStop;
    }

    public Long getDefaultEpayQqpay() {
        return defaultEpayQqpay;
    }

    public void setDefaultEpayQqpay(Long defaultEpayQqpay) {
        this.defaultEpayQqpay = defaultEpayQqpay;
    }

    public Long getDefaultEpayWxpay() {
        return defaultEpayWxpay;
    }

    public void setDefaultEpayWxpay(Long defaultEpayWxpay) {
        this.defaultEpayWxpay = defaultEpayWxpay;
    }

    public Long getDefaultCodepayQq() {
        return defaultCodepayQq;
    }

    public void setDefaultCodepayQq(Long defaultCodepayQq) {
        this.defaultCodepayQq = defaultCodepayQq;
    }

    public Long getDefaultCodepayWxpay() {
        return defaultCodepayWxpay;
    }

    public void setDefaultCodepayWxpay(Long defaultCodepayWxpay) {
        this.defaultCodepayWxpay = defaultCodepayWxpay;
    }

    public String getSinaUrlKey() {
        return sinaUrlKey;
    }

    public void setSinaUrlKey(String sinaUrlKey) {
        this.sinaUrlKey = sinaUrlKey;
    }

    public Long getDefaultEpay2Alipay() {
        return defaultEpay2Alipay;
    }

    public void setDefaultEpay2Alipay(Long defaultEpay2Alipay) {
        this.defaultEpay2Alipay = defaultEpay2Alipay;
    }

    public Long getDefaultEpay2Qqpay() {
        return defaultEpay2Qqpay;
    }

    public void setDefaultEpay2Qqpay(Long defaultEpay2Qqpay) {
        this.defaultEpay2Qqpay = defaultEpay2Qqpay;
    }

    public Long getDefaultEpay2Wxpay() {
        return defaultEpay2Wxpay;
    }

    public void setDefaultEpay2Wxpay(Long defaultEpay2Wxpay) {
        this.defaultEpay2Wxpay = defaultEpay2Wxpay;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", retDomain=").append(retDomain);
        sb.append(", lxStatus=").append(lxStatus);
        sb.append(", lxMode=").append(lxMode);
        sb.append(", defaultEpayAlipay=").append(defaultEpayAlipay);
        sb.append(", defaultCodepayAlipay=").append(defaultCodepayAlipay);
        sb.append(", delaultQqpay=").append(delaultQqpay);
        sb.append(", defaultAlipay=").append(defaultAlipay);
        sb.append(", defaultWxpay=").append(defaultWxpay);
        sb.append(", trWxpay=").append(trWxpay);
        sb.append(", trAlipay=").append(trAlipay);
        sb.append(", trWxpayCard=").append(trWxpayCard);
        sb.append(", paySale=").append(paySale);
        sb.append(", paySaleMin=").append(paySaleMin);
        sb.append(", paySaleMax=").append(paySaleMax);
        sb.append(", paySaleStart=").append(paySaleStart);
        sb.append(", paySaleStop=").append(paySaleStop);
        sb.append(", defaultEpayQqpay=").append(defaultEpayQqpay);
        sb.append(", defaultEpayWxpay=").append(defaultEpayWxpay);
        sb.append(", defaultCodepayQq=").append(defaultCodepayQq);
        sb.append(", defaultCodepayWxpay=").append(defaultCodepayWxpay);
        sb.append(", sinaUrlKey=").append(sinaUrlKey);
        sb.append(", defaultEpay2Alipay=").append(defaultEpay2Alipay);
        sb.append(", defaultEpay2Qqpay=").append(defaultEpay2Qqpay);
        sb.append(", defaultEpay2Wxpay=").append(defaultEpay2Wxpay);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SystemPayConfig other = (SystemPayConfig) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getRetDomain() == null ? other.getRetDomain() == null : this.getRetDomain().equals(other.getRetDomain()))
                && (this.getLxStatus() == null ? other.getLxStatus() == null : this.getLxStatus().equals(other.getLxStatus()))
                && (this.getLxMode() == null ? other.getLxMode() == null : this.getLxMode().equals(other.getLxMode()))
                && (this.getDefaultEpayAlipay() == null ? other.getDefaultEpayAlipay() == null : this.getDefaultEpayAlipay().equals(other.getDefaultEpayAlipay()))
                && (this.getDefaultCodepayAlipay() == null ? other.getDefaultCodepayAlipay() == null : this.getDefaultCodepayAlipay().equals(other.getDefaultCodepayAlipay()))
                && (this.getDelaultQqpay() == null ? other.getDelaultQqpay() == null : this.getDelaultQqpay().equals(other.getDelaultQqpay()))
                && (this.getDefaultAlipay() == null ? other.getDefaultAlipay() == null : this.getDefaultAlipay().equals(other.getDefaultAlipay()))
                && (this.getDefaultWxpay() == null ? other.getDefaultWxpay() == null : this.getDefaultWxpay().equals(other.getDefaultWxpay()))
                && (this.getTrWxpay() == null ? other.getTrWxpay() == null : this.getTrWxpay().equals(other.getTrWxpay()))
                && (this.getTrAlipay() == null ? other.getTrAlipay() == null : this.getTrAlipay().equals(other.getTrAlipay()))
                && (this.getTrWxpayCard() == null ? other.getTrWxpayCard() == null : this.getTrWxpayCard().equals(other.getTrWxpayCard()))
                && (this.getPaySale() == null ? other.getPaySale() == null : this.getPaySale().equals(other.getPaySale()))
                && (this.getPaySaleMin() == null ? other.getPaySaleMin() == null : this.getPaySaleMin().equals(other.getPaySaleMin()))
                && (this.getPaySaleMax() == null ? other.getPaySaleMax() == null : this.getPaySaleMax().equals(other.getPaySaleMax()))
                && (this.getPaySaleStart() == null ? other.getPaySaleStart() == null : this.getPaySaleStart().equals(other.getPaySaleStart()))
                && (this.getPaySaleStop() == null ? other.getPaySaleStop() == null : this.getPaySaleStop().equals(other.getPaySaleStop()))
                && (this.getDefaultEpayQqpay() == null ? other.getDefaultEpayQqpay() == null : this.getDefaultEpayQqpay().equals(other.getDefaultEpayQqpay()))
                && (this.getDefaultEpayWxpay() == null ? other.getDefaultEpayWxpay() == null : this.getDefaultEpayWxpay().equals(other.getDefaultEpayWxpay()))
                && (this.getDefaultCodepayQq() == null ? other.getDefaultCodepayQq() == null : this.getDefaultCodepayQq().equals(other.getDefaultCodepayQq()))
                && (this.getDefaultCodepayWxpay() == null ? other.getDefaultCodepayWxpay() == null : this.getDefaultCodepayWxpay().equals(other.getDefaultCodepayWxpay()))
                && (this.getSinaUrlKey() == null ? other.getSinaUrlKey() == null : this.getSinaUrlKey().equals(other.getSinaUrlKey()))
                && (this.getDefaultEpay2Alipay() == null ? other.getDefaultEpay2Alipay() == null : this.getDefaultEpay2Alipay().equals(other.getDefaultEpay2Alipay()))
                && (this.getDefaultEpay2Qqpay() == null ? other.getDefaultEpay2Qqpay() == null : this.getDefaultEpay2Qqpay().equals(other.getDefaultEpay2Qqpay()))
                && (this.getDefaultEpay2Wxpay() == null ? other.getDefaultEpay2Wxpay() == null : this.getDefaultEpay2Wxpay().equals(other.getDefaultEpay2Wxpay()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getRetDomain() == null) ? 0 : getRetDomain().hashCode());
        result = prime * result + ((getLxStatus() == null) ? 0 : getLxStatus().hashCode());
        result = prime * result + ((getLxMode() == null) ? 0 : getLxMode().hashCode());
        result = prime * result + ((getDefaultEpayAlipay() == null) ? 0 : getDefaultEpayAlipay().hashCode());
        result = prime * result + ((getDefaultCodepayAlipay() == null) ? 0 : getDefaultCodepayAlipay().hashCode());
        result = prime * result + ((getDelaultQqpay() == null) ? 0 : getDelaultQqpay().hashCode());
        result = prime * result + ((getDefaultAlipay() == null) ? 0 : getDefaultAlipay().hashCode());
        result = prime * result + ((getDefaultWxpay() == null) ? 0 : getDefaultWxpay().hashCode());
        result = prime * result + ((getTrWxpay() == null) ? 0 : getTrWxpay().hashCode());
        result = prime * result + ((getTrAlipay() == null) ? 0 : getTrAlipay().hashCode());
        result = prime * result + ((getTrWxpayCard() == null) ? 0 : getTrWxpayCard().hashCode());
        result = prime * result + ((getPaySale() == null) ? 0 : getPaySale().hashCode());
        result = prime * result + ((getPaySaleMin() == null) ? 0 : getPaySaleMin().hashCode());
        result = prime * result + ((getPaySaleMax() == null) ? 0 : getPaySaleMax().hashCode());
        result = prime * result + ((getPaySaleStart() == null) ? 0 : getPaySaleStart().hashCode());
        result = prime * result + ((getPaySaleStop() == null) ? 0 : getPaySaleStop().hashCode());
        result = prime * result + ((getDefaultEpayQqpay() == null) ? 0 : getDefaultEpayQqpay().hashCode());
        result = prime * result + ((getDefaultEpayWxpay() == null) ? 0 : getDefaultEpayWxpay().hashCode());
        result = prime * result + ((getDefaultCodepayQq() == null) ? 0 : getDefaultCodepayQq().hashCode());
        result = prime * result + ((getDefaultCodepayWxpay() == null) ? 0 : getDefaultCodepayWxpay().hashCode());
        result = prime * result + ((getSinaUrlKey() == null) ? 0 : getSinaUrlKey().hashCode());
        result = prime * result + ((getDefaultEpay2Alipay() == null) ? 0 : getDefaultEpay2Alipay().hashCode());
        result = prime * result + ((getDefaultEpay2Qqpay() == null) ? 0 : getDefaultEpay2Qqpay().hashCode());
        result = prime * result + ((getDefaultEpay2Wxpay() == null) ? 0 : getDefaultEpay2Wxpay().hashCode());
        return result;
    }
}